/**************************************************************************************
*
*	Copyright (C) 2009 - 2012 Brent Andrew O. Chua - See LICENSE.txt for more info.
*		
*	Filename	-	RenderEntryClearRenderBuffers.h
*
*	Description -	
*
*	Comments	-	
*
*	Modification History:
*			Name			   Date					Description
*			MrCodeSushi	-	10/11/2012	-	Creation of this file
**************************************************************************************/
#ifndef _PSX_RENDER_ENTRY_CLEAR_RENDER_BUFFERS_H_
#define _PSX_RENDER_ENTRY_CLEAR_RENDER_BUFFERS_H_

#include "PulseSTD.h"
#include "RenderEntry.h"
#include "GraphicsPipeline.h"
#include "Color.h"

namespace Pulse
{
	class RenderEntryClearRenderBuffers : public RenderEntry
	{
	public:

		RenderEntryClearRenderBuffers( void ) 
			: m_clearColor( Color::BLACK )
		{
			SetStage( ERenderViewStage::UNKNOWN );
		}

		virtual ~RenderEntryClearRenderBuffers( void ) { }

		void SetClearColor( const Color *pColor ) { m_clearColor = *pColor; }

		//virtual void PreExecute( GraphicsPipeline *pPipeline ) { }

		virtual void Execute( GraphicsPipeline *pPipeline ) { pPipeline->OMClearRenderBuffers( &m_clearColor ); }

		//virtual void PostExecute( GraphicsPipeline *pPipeline ) { }

	public:

		ERenderViewStage::Type	m_stage;
		Color				m_clearColor;	
		
	};
}

#endif /* _PSX_RENDER_ENTRY_CLEAR_RENDER_BUFFERS_H_ */